// Copyright 叶湘 ( weixin:yexiang841, email:yexiang841@qq.com ), Shitouren Studio. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "Engine/StaticMeshActor.h"
#include "Hit/Q3D_CPPI_HitCauser.h"
#include "Q3D_CPPA_FighterBullet_TypeA.generated.h"

class UQ3D_CPPC_HitCauser;

/**
 *
 */
UCLASS(Blueprintable, ClassGroup = (Q3D), meta = (Tooltip = "TypeA 机炮发射的炮弹类(C++)"))
class Q3D_LIB_API AQ3D_CPPA_FighterBullet_TypeA : public AStaticMeshActor, public IQ3D_CPPI_HitCauser
{
	GENERATED_BODY()

public:
	// Sets default values for this character's properties
	AQ3D_CPPA_FighterBullet_TypeA();

public:
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Q3D_Character, meta = (Tooltip = "HitCauser 管理器，负责携带和发送命中"))
	UQ3D_CPPC_HitCauser *Ptr_C_HitCauser;

public:
	virtual void Q3D_IF_Hit_Set_Implementation(const TMap<FName, UQ3D_CPPU_Hit *> &map_name_to_ptr_u_hit_param, bool &bool_success, FString &string_log) override;

	virtual void Q3D_IF_Hit_SetToTarget_Implementation(AActor *ptr_a_hit_target, bool &bool_success, FString &string_log) override;
};
